دالة REGEXEXTRACT في Excel
دوال النص
الغرض من الدالة
تقوم دالة REGEXEXTRACT باستخراج أجزاء من سلسلة نصية تتطابق مع نمط تعبير عادي (Regular Expression). هذه الدالة قوية جداً لاستخلاص معلومات محددة من نصوص معقدة، مثل أرقام الهواتف، عناوين البريد الإلكتروني، أو أجزاء من عناوين URL.
صيغة الدالة (Syntax)
- text: السلسلة النصية التي تريد استخراج المعلومات منها. (مطلوب).
- pattern: النمط الذي يصف النص المراد استخراجه (يبدأ بأحرف أو يبدأ بأرقام..) استخدم الأقواس . استخدم الأقواس
()لإنشاء مجموعات التقاط (capturing groups) إذا كنت تريد استخراج أجزاء متعددة.أهم الأمثلة على أنماط التعبيرات العادية (Regular Expressions):
[0-9]: يطابق أي رقم عددي واحد (من 0 إلى 9).[a-z]: يطابق أي حرف أبجدي صغير واحد (من a إلى z).[A-Z]: يطابق أي حرف أبجدي كبير واحد (من a إلى z)..(نقطة): أي حرف أو رمز.a: البحث عن الحرف "a".a*: يطابق صفرًا أو أكثر من تكرارات الحرف "a".a+: يطابق واحدًا أو أكثر من تكرارات الحرف "a".
- return_mode: من أجل تحديد طريقة استخراج النصوص:
- 0: إرجاع أول سلسلة نصية تطابق النمط.
- 1: إرجاع جميع السلاسل النصية المطابقة للنمط (على شكل مصفوفة).
- 2: إرجاع مجموعات الالتقاط من التطابق الأول كمصفوفة.
- case_sensitivity: حساسية الأحرف:
- 0: حساس لحالة الأحرف (افتراضي).
- 1: غير حساس لحالة الأحرف
أمثلة عملية
المثال1: استخراج الاسم الأول.
يمكنك استخراج الاسم الأول وفق صيغة تراها ثابتة في الأسماء لديك. مثلا الاسم HasanShofan. لاحظ الاسم يبدأ بحرف كبير تليه أحرف صفيرة ثم تبدأ الكنية بحرف كبير. إذا النمط واضح.
| A | B | |
|---|---|---|
| 1 | الاسم الكامل | HasanShofan |
| 2 | الاسم الأول | Hasan |
الصيغة المستخدمة:
=REGEXEXTRACT(B1,"[A-Z][a-z]+")
توضيح: إشارة + في النهاية لاستخراج كافة الأحرف ضمن النمط وإلا كانت النتيجة Ha.
المثال2: استخراج نمط أكثر من مرة على شكل مصفوفة
بما أن الاسم والكنية متشابهين في النمط (حرف كبير تليه أحرف صغيرة). فيمكن استخراجهما معا من خلال return_mode = 1
| A | B | C | |
|---|---|---|---|
| 1 | الاسم الكامل | HasanShofan | |
| 2 | فصل النص | Hasan | |
الصيغة المستخدمة:
=REGEXEXTRACT(B1,"[A-Z][a-z]+",1)
توضيح: الفصل على شكل مصفوفة ديناميكي. باالتالي يجب أن تكون الخلية C2 فارغة.
المثال 3: استخراج أجزاء متعددة (رمز المنتج والكمية)
لتحليل سطر طلب منتج واستخراج رمز المنتج (أحرف وأرقام) والكمية (أرقام).
| A | B | |
|---|---|---|
| 1 | وصف الطلب | Order: PROD-XYZ-123, Price: 50$. |
| 2 | رمز المنتج | السعر |
| 3 | PROD-XYZ-123 |
الصيغة المستخدمة:
=REGEXEXTRACT(B1, "(PROD-[A-Z0-9-]+).*Price: ([0-9]+)",2)
توضيح: يحتوي التعبير العادي على مجموعتي التقاط (داخل الأقواس) لاستخراج رمز المنتج والكمية بشكل منفصل. إذا كانت هناك مجموعات التقاط متعددة، تُرجع الدالة مصفوفة تحتوي على القيم المستخرجة.